package com.ssm.sport.vo;

import lombok.Data;

/**
 * 统一响应数据视图对象
 */
@Data
public class ResponseVO {
    
    /**
     * 状态码: 0-失败, 1-成功
     */
    private Integer status;
    
    /**
     * 响应信息
     */
    private String msg;
    
    /**
     * 响应数据
     */
    private Object data;
    
    /**
     * 成功响应
     * @param msg 成功信息
     * @return 响应对象
     */
    public static ResponseVO success(String msg) {
        return success(msg, null);
    }
    
    /**
     * 成功响应
     * @param data 响应数据
     * @return 响应对象
     */
    public static ResponseVO success(Object data) {
        return success("操作成功", data);
    }
    
    /**
     * 成功响应
     * @param msg 成功信息
     * @param data 响应数据
     * @return 响应对象
     */
    public static ResponseVO success(String msg, Object data) {
        ResponseVO responseVO = new ResponseVO();
        responseVO.setStatus(1);
        responseVO.setMsg(msg);
        responseVO.setData(data);
        return responseVO;
    }
    
    /**
     * 错误响应
     * @param msg 错误信息
     * @return 响应对象
     */
    public static ResponseVO error(String msg) {
        return error(msg, null);
    }
    
    /**
     * 错误响应
     * @param msg 错误信息
     * @param data 响应数据
     * @return 响应对象
     */
    public static ResponseVO error(String msg, Object data) {
        ResponseVO responseVO = new ResponseVO();
        responseVO.setStatus(0);
        responseVO.setMsg(msg);
        responseVO.setData(data);
        return responseVO;
    }
} 